package cn.da.shuai.cool.finance.model;

import cn.da.shuai.cool.common.entity.EntityBase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * <p>
 * 现金流预测表
 * </p>
 *
 * @author 大帅哥
 * @since 2023-05-01
 */
@Getter
@Setter
@TableName("cool_cash_flow_forecast")
@Schema(name = "CoolCashFlowForecast", description = "现金流预测表")
public class CoolCashFlowForecast extends EntityBase {

    @Schema(description = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "预测日期")
    @TableField("forecast_date")
    private LocalDate forecastDate;

    @Schema(description = "现金流入")
    @TableField("cash_inflow")
    private BigDecimal cashInflow;

    @Schema(description = "现金流出")
    @TableField("cash_outflow")
    private BigDecimal cashOutflow;

    @Schema(description = "净现金流")
    @TableField("net_cash_flow")
    private BigDecimal netCashFlow;

    @Schema(description = "累计现金流")
    @TableField("cumulative_cash_flow")
    private BigDecimal cumulativeCashFlow;

    @Schema(description = "场景：BASE-基准，OPTIMISTIC-乐观，PESSIMISTIC-悲观")
    @TableField("scenario")
    private String scenario;
}